ActionController::Routing::Routes.draw do |map|
  map.resources :premiaciones_escalas

  map.resources :factores_reconocimientos

  
  map.resources :capacitaciones_evaluaciones

  map.resources :escalas

  map.resources :capacitaciones_procesos

  
  map.resources :capacitaciones_areas_conocimientos do |cac|
    cac.resources :capacitaciones_temas
  end

  map.resources :capacitaciones_areas_formaciones

  map.resources :escalas_salariales do |es|
    es.resources :niveles
  end

  map.resources :capacitaciones_resultados

  map.resources :capacitaciones_proveedores

  map.resources :capacitaciones_temas

  map.resources :capacitaciones_tests
  
  map.resources :capacitaciones,:member=>{:configurar_tests=>:get,
    :configurar_planificacion=>:get,
    :configurar_participantes=>:get,
    :configurar_tutores=>:get,
    :crear_planes=>:get} do |c|
    c.resources :capacitaciones_planificaciones
    c.resources :capacitaciones_tests
  end

  map.resources :capacitaciones_planificaciones,:member=>{:replanificacion=>:get} 
  
  map.resources :capacitaciones_planificaciones
    
  #  map.resources :capacitaciones_ejecuciones do |ce|
  #    ce.resources :capacitaciones_evaluaciones
  #  end

  map.resources :cargos,
    :collection => {:datos => :get,
    :subordinados => :get,
    :create_descripcion=>:post,
    :save_competencia=>:post,
    :update_competencia=>:put},
    :member     => {:competencias => :get,
    :mark_as_autotest => :get,
    :agregar_competencia=>:get,
    :editar_competencia=>:get,
	:list_competencias=>:get} do |cargo|
    cargo.resources :tareas;
  end
    
  map.resources :areas, :collection => {:datos => :get} do |a|
    a.resources :cargos
    a.resources :factores_reconocimientos
  end
  
  map.resources :evaluaciones,
    :collection => {:datos => :get,
    :auto_complete_for_competencia_titulo => :get,
    :auto_complete_for_cargo_nombre       => :get,
    :nueva_pregunta => :get,
    :nueva_opcion => :get,
    :duplicar   => :get,
    :reporte   => :get,
    :resumen_participantes   => :get,
    :reiniciar_datos   => :get
  }  
  
  map.resources :logs, :collection => {:datos => :get}

  map.resources :carpetas

  map.resources :motivos_salidas

  map.resources :examenes

  map.resources :tipos_examenes

  map.resources :horas,:collection =>{:procesar=>:get,
    :liquidar=>:get,
    :show_proceso => :get,
    :procesos => :get,
    :datos => :get,
    :resumen => :get,
    :matriz_horarios => :get,
    :compensar => :post,
    :borrar_proceso=>:get }

  map.resources :autorizaciones

  map.resources :sueldos, :collection => {:predefinidos => :get,:planilla => :get,:quincena => :get,:resumen_movimientos => :get,:resumen_movimientos_tipos => :get,}
  
  map.resources :solicitudes_documento, :collection => {:datos => :get}

  map.resources :plantillas, :member => {:generar => :get}

  map.resources :reconocimientos

  map.resources :tipos_reconocimientos

  map.resources :vacaciones_antiguedades

  map.resources :vacaciones,:collection =>{:usuarios_por_vacaciones=>:get,:resumen=>:get}

  map.resources :franjas

  map.resources :solicitudes, :member => {:enviar => :get,:descargar_adjunto => :get }

  map.resources :planes_horarios

  map.resources :parametros

  map.resources :grupos_horarios

  map.resources :feriados

  map.resources :historicos_externos

  map.resources :historicos_internos

  map.resources :talentos

  map.resources :hobbies

  map.resources :uniformes

  map.resources :vestimentas

  map.resources :categorias

  map.resources :niveles

  map.resources :tipos_contratos

  map.resources :documentos

  map.resources :tipos_documentos

  map.resources :tipos_documentos

  map.resources :idiomas_usuarios

  map.resources :idiomas

  map.resources :formaciones

  map.resources :procesos, :collection => {:datos => :get}
  map.resources :prestamos, :collection => {:datos => :get, :cambiar_cuota => :post}

  map.resources :tareas, :collection => {:datos => :get}
  map.resources :hechos, :collection => {:datos => :get}
  map.resources :tipos_cursos, :collection => {:datos => :get}

  map.resources :sesiones_usuario
  map.resources :familiares

  map.resources :marcaciones, :collection => {:descargar_ficha_marcacion=>:get,
    :show_descargar_ficha_marcacion=>:get,:marcaciones_grupales => :get,
    :create_marcacion_grupal=>:post,:marcacion_manual=>:get,
    :create_marcacion_manual=>:post,:show_irregulares=>:get,
    :agregar_marcacion=>:get,:borrar_marcacion=>:post
  }

  map.resources :jerarquias, :collection => {:datos => :get}
  map.resources :competencias,
    :collection => {
    :datos => :get,
    :new_descripcion => :get,
    :create_descripcion => :post,
    :edit_descripcion => :get,
    :update_descripcion => :put,
    :destroy_descripcion => :delete
  }

  map.resources :competencias_cargos,
    :collection => {:datos => :get, :nueva_descripcion => :get},
    :member     => {:agregar_cargo => :get, :guardar_cargo => :put }

  map.resources :usuarios, :collection => {
    :show_mapa=>:get,
    :descargar_funcionarios =>  :get, :descargar_planes => :get,
    :filtrar_por_antiguedad =>  :get, :micuenta => :get,
    :datos => :get, :comboactivos => :get}, :member => {:reporte => :get,:actualizar_datos=>:get,:editar_vacaciones_negociadas => :get,} do |users|
    users.resources :historicos_internos
    users.resources :familiares
    users.resources :evaluados,
      :collection => { :tomar_evaluacion => :get,
      :evaluar         => :get,
      :agregar         => :get,
      :quitar          => :get,
      :puntaje         => :get,
      :mis_evaluadores => :get,
      :actualizar_preguntas_asignadas => :get,
      :comentarios     => :get }  do |evaluados|
      evaluados.resources :planes_acciones
    end
    users.resources :planes_acciones, :collection => {:datos => :get}
    users.resources :incidentes,:member=>{:premiar =>:get,:premio =>:get},
      :collection => {:datos => :get, :cambiar_cargo => :get, :reporte_individual => :get, :descargar_reporte =>:get,:ranking=>[:get,:post]} do |i|
      i.resources :planes_acciones
    end
    users.resources :capacitaciones_planes do |cp|
      cp.resources :capacitaciones_evaluaciones
    end      
  end
  map.resources :incidentes, :collection => {:datos => :get,
    :reconocimientos => [:get,:post],
    :cambiar_cargo => :get,
    :reporte_individual => :get,
    :descargar_reporte =>:get,
    :select_usuarios =>:get,
    :ranking=>:post
    }


  map.resources :perfiles, :collection => {:datos => :get}
  map.resources :cuentas, :collection => {:datos => :get}
  map.resources :bancos, :collection => {:datos => :get}
  map.resources :sucursales, :collection => {:datos => :get}
  map.resources :empresas, :collection => {:datos => :get}, :shallow => true do |emp|
    emp.resources :corrientes
  end
  map.resources :tipos_movimientos, :collection => {:datos => :get}
  map.resources :movimientos, :collection => {:datos => :get}
  map.resources :recibos, :collection => {:datos => :get, :generar_salarios => :get, :email => :get, :deshacer => :get, :previsualizar => :get,:generar_aguinaldos=>:get}
  map.resources :mensajes, :collection => {:datos => :get}
  map.resources :predefinidos, :collection => {:datos => :get}
  map.resources :modelos, :collection => {:datos => :get}, :member => {:duplicar => :get}
  map.resources :importaciones, :collection => {:datos => :get}
  map.resources :columnas


  map.login "login", :controller => "sesiones_usuario", :action => "new"
  map.logout "logout", :controller => "sesiones_usuario", :action => "destroy"
  map.denegado "denegado", :controller => "sesiones_usuario", :action => "denegado"
  map.toggle_cargo 'toggle/:cargo_id', :controller => 'cargos', :action => 'toggle'
  map.quitar_opcion 'evaluaciones/quitar_opcion/:opcion_id', :controller => 'evaluaciones', :action => 'quitar_opcion'
  map.update_respuesta  'update_respuesta', :controller => "evaluados", :action => 'update_respuesta'
  map.root :controller => "usuarios",:action => "micuenta"

  # See how all your routes lay out with "rake routes"

  # Install the default routes as the lowest priority.
  # Note: These default routes make all actions in every controller accessible via GET requests. You should
  # consider removing the them or commenting them out if you're using named routes and resources.
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end

